package com.xu.cloud.common.idempotent;

/**
 * 幂等接口
 *
 * @author xuguan
 * @since 2025/3/17
 */
public interface IdempotentIfc {

    /**
     * 创建幂等性token
     */
    String createIdempotentToken();

    /**
     * 校验幂等性token
     */
    boolean checkIdempotentToken(String token);

    /**
     * 幂等性token处理后置处理
     */
    default void postProcess(String token) {
        // nop
    }

    /**
     * 幂等性token处理后置处理
     */
    default void finallyProcess(String token, Exception e) {
        // nop
    }
}
